# Copyright 2010 Mikko Rantanen
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import logging

from directory import Directory
from objectfile import ObjectFile
import fsentry

class ObjectVersion(Directory):
    """
    Non SFD object instance
    """

    def __init__(self, parent, iteminfo):
        Directory.__init__(self, parent, iteminfo)
        self.objver = iteminfo['ObjVer']

    def get_resource(self):
        return self.conn.resource(
            'objects/%s/%s/%s' %
            (self.objver['Type'], self.objver['ID'], self.objver['Version']))

    def get_name(self):
        return self.iteminfo['EscapedTitleWithID']

    def get_urlname(self):
        foldertype = foldertypes[self.iteminfo['DataType']]
        objver = iteminfo['ObjVer']
        return 'O%s,%s,%s' % (objver['Type'], objver['ID'], objver['Version'])

    def get_contents(self):
        logging.info('Reading MFD contents')
        try:
            self.contents = map(lambda item: ObjectFile(self, item), self.iteminfo['Files'])
        finally:
            logging.info(self.contents)

        return self.contents


